package com.wande.dataplatform.domain;

import com.baomidou.mybatisplus.annotation.*;
import lombok.Data;

import java.time.LocalDateTime;

/**
 * DolphinScheduler同步日志实体
 *
 * @author DataPlatform
 */
@Data
@TableName("dp_ds_sync_log")
public class DsSyncLog {

    /**
     * 主键ID
     */
    @TableId(value = "id", type = IdType.AUTO)
    private Long id;

    /**
     * 租户ID
     */
    private Long tenantId;

    /**
     * 同步配置ID
     */
    private Long configId;

    /**
     * 同步类型: WORKFLOW, TASK, INSTANCE
     */
    private String syncType;

    /**
     * 同步动作: CREATE, UPDATE, DELETE, SYNC_STATUS
     */
    private String syncAction;

    /**
     * 源对象ID(平台任务ID)
     */
    private Long sourceId;

    /**
     * 目标对象ID(DolphinScheduler工作流ID)
     */
    private Long targetId;

    /**
     * 同步状态: SUCCESS, FAILED
     */
    private String syncStatus;

    /**
     * 同步结果JSON
     */
    private String syncResult;

    /**
     * 错误信息
     */
    private String errorMessage;

    /**
     * 开始时间
     */
    private LocalDateTime startTime;

    /**
     * 结束时间
     */
    private LocalDateTime endTime;

    /**
     * 执行时长(毫秒)
     */
    private Long duration;

    /**
     * 创建时间
     */
    private LocalDateTime createTime;
}
